package cn.tedu.array;/**
 * @Author 金帮嘉诚 @Date 2021-07-22 星期四 18:51
 */
/*本类用于测试Arrays类*/

import java.util.Arrays;


/**
 * 知识点
 * Arrays类，用于对数组进行操作
 * 全部函数：
 * hashCode()
 * toString()
 * equals()
 *
 * asList()
 * binarySearch()
 * fill()
 *
 * copyOf()
 * copyOfRange()
 * sort()
 */
public class TestArray2 {
    public static void main(String[] args) {
        //此类包含用来操作数组（比如排序和搜索）的各种方法。此类还包含一个允许将数组作为列表来查看的静态工厂。
        //声明数组 动态、静态
        //动态：
        String[] strings = new String[2];
        strings[0] = "";
        strings[1] = "";
        //静态：
        String[] strings1 = {"1", "2"};
        String[] strings2 = new String[]{"1", "2"};

        // * hashCode()
        // * toString()
        // * equals()
        //[Ljava.lang.String;@677327b6
        System.out.println(strings);
        System.out.println(Arrays.hashCode(strings));//961 基于指定数组的内容返回哈希码。
        System.out.println(strings.hashCode());//1735600054

        System.out.println(Arrays.toString(strings1));//[1, 2]

        System.out.println(Arrays.equals(strings1, strings2));//true
        System.out.println(strings1==strings2);//false

        // * asList()
        // * binarySearch()
        System.out.println(Arrays.asList(strings1).get(1));//2
        System.out.println(Arrays.binarySearch(strings1, "1"));//0

        // * copyOf()
        // * copyOfRange()
        System.out.println(Arrays.toString(Arrays.copyOf(strings1, 3)));//[1, 2, null]
        System.out.println(Arrays.toString(Arrays.copyOfRange(strings1, 0,1)));//[1]

        //fill()
        Arrays.fill(strings1, "1");
        System.out.println(Arrays.toString(strings1));//[1, 1]

        //sort()
        String[] strings3={"3","2","1"};
        Arrays.sort(strings3);
        System.out.println(Arrays.toString(strings3));//[1, 2, 3]


        int[] a={1,2,3,4,5,6,7,8,9,10};
        Arrays.fill(a, 1);
        System.out.println(Arrays.toString(a));//[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

    }
}
